﻿using System;
using System.Collections;
using System.Linq;
using System.Text;
using CRUD.InterfaceDAO;
using GestionadorBaseDatos;
using System.Collections.Generic;
namespace CapaNegocios
{
    /// <summary>
    /// interfaz que define el comportamiento de un Pago 
    /// </summary>
    public interface IGestionPago
    {
        /// <summary>
        /// Metodo que te permite actualizar los datos de un pago 
        /// </summary>
        /// <param name="pago">Recibe como parametro un objeto de tipo Pago</param>
        void ActualizarPago(Pago pago);

        /// <summary>
        /// Metodo que te permite obtener todos los pagos
        /// </summary>
        /// <returns>Retorna una lista de objetos de tipo Pago</returns>
        List<Pago> ObtenerPagos();

        /// <summary>
        /// Metodo que te permite obtener todos los pagos que tiene un usuario en especifico
        /// </summary>
        /// <param name="usuario">Recime como parametro un objeto de tipo Usuario</param>
        /// <returns>Retorna una lista de objetos de tipo Pago</returns>
        List<Pago> ObtenerPagosPorUsuario(Usuario usuario);

        /// <summary>
        /// Metodo que te permite insertar un nuevo pago
        /// </summary>
        /// <param name="pago">Recibe como parametro un objeto de tipo Pago</param>
        void InsertarPago(Pago pago);
    }
}
